The field of the invention is industrial control communications systems, and particularly, to interface controllers which implement communications commands used in such systems.
A large manufacturing process may involve several industrial controllers such as, for example, programmable controllers, numerical controllers, and process controllers which must coordinate their operation. A master controller is often used to direct the operation of the other subordinate controllers and to collect status information for reporting purposes. The communications among the industrial controllers is usually accomplished using an interface controller which implements a set of communications commands, as is well known in the art. The communications commands are issued from the industrial controller to the attached interface controller. The interface controller sends the command to a destination interface controller over a communications network, which may be of any suitable type or topology. The destination interface controller is attached to another industrial controller and executes the communications command.
The communications commands are most commonly read or write operations for transferring data from the user memory of one industrial controller to another. Mode control commands for changing the operating mode of another controller are also common. Standard sets of communications commands have been developed such as, for example, the Manufacturing Automation Protocol (MAP) standard.
In prior systems, the communications commands are executed immediately upon receipt and so the entire command must be sent each time it is to be executed and at the precise moment that it is to be executed. The communications commands can be quite long and so to repeat the same message a number of times wastes the communications network resources. Also, because the commands must be sent at certain times, peak levels of message traffic can occur when several commands need to be sent at the same time. This can occur, for example, during periodic status reporting. The peak traffic levels can degrade communications network performance.
A further limitation in prior systems is that the commands are carried out as two party transactions. Therefore, it is not possible for one controller to command a data transaction between a second and third controller. Instead, the first controller must involve itself as a mediary by first issuing a command to transfer the data to itself and then another command to transfer the data to the third controller. This is a serious drawback as the third party situation occurs frequently, for example when the master controller wants to upload or download a second controller from a mass storage device connected to a third controller.